<%--
  Created by IntelliJ IDEA.
  User: 王文尧
  Date: 2024/7/2
  Time: 13:15
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
    <title>Title</title>
    <script type="text/javascript"  src="../js/jquery-3.7.1.min.js"></script>
</head>
<body>
    <%--<%
        // 改为从 session 拿取
        String msg = (String) session.getAttribute("msg");
        // 拿完记得重置
        session.removeAttribute("msg");
        // 判断是否为空，如果为空，则 msg 设置为 空字符串
        if (msg == null) {
            msg = "";
        }
    %>
    <%=msg%>--%>
    ${msg}
    <c:remove var="msg" scope="session"></c:remove>

    <%--<%
        String sNo = "";
        String password = "";
        String rememberMe = "";

        Cookie[] cookies = request.getCookies();
        if (cookies != null) {
            for (Cookie cookie : cookies) {
                if ("sNo".equals(cookie.getName())){
                    sNo = cookie.getValue();
                }
                if ("password".equals(cookie.getName())) {
                    password = cookie.getValue();
                }
                if ("rememberMe".equals(cookie.getName())) {
                    rememberMe = cookie.getValue();
                }
            }
        }
    %>--%>

<%-- 加上一个事件：提交事件 当事件返回值为 true 顺利提交，为false 不提交 --%>
    <form action="manage" method="post" onsubmit="return checkLoginInfo()" >
        <input type="hidden" name="op" value="login"/>
        学号:<input type="text" name="sNo" value="${cookie.sNo.value}" onblur="isSNoExist(this)" /><span id="showSNoInfo"></span><br/>
        密码:<input type="password" name="password" value="${cookie.password.value}" /><span id="showPasswordInfo"></span><br/>
        <input type="checkbox" name="rememberMe" value="true" ${(not empty cookie.rememberMe) ? "checked" : ""} />记住我<br/>
        <input type="submit" value="登录" />
    </form>

    <script type="text/javascript">
        // 对表单进行校验
        function checkLoginInfo() {
            /*alert("进行js 表单校验...");*/
            var sNoObj = document.getElementsByName("sNo")[0];
            var passwordObj = document.getElementsByName("password")[0];
            var flag = true;
            var showSNoInfoObj = document.getElementById("showSNoInfo");
            var showPasswordInfoObj = document.getElementById("showPasswordInfo");
            // 判空校验
            if (sNoObj.value == null || sNoObj.value === "") { // `== null` -> `=== ""`
                showSNoInfoObj.innerText = "账号不能为空";
                flag = false;
            } else {
                var regex = /^[0-9]*$/;
                if (!regex.test(sNoObj.value)) {
                    showSNoInfoObj.innerText = "学号必须为纯数字";
                    flag = false;
                }
            }
            if (passwordObj.value == null || passwordObj.value === "") { // `== null` -> `=== ""`
                showPasswordInfoObj.innerText = "密码不能为空";
                flag = false;
            }
            /*alert("结束js 表单校验..." + flag);*/
            return flag; // 但凡上面三处校验有一处触发，这边都为 false 就不能提交

        }
        function isSNoExist(obj){
            $.ajax({
                url:"manage",
                type:"post",
                data:{
                    op:"isSNoExist",
                    sNo:obj.value
                },
                dataType:"JSON", // 为什么要用json格式？
                success:function (data){
                    var showSNoInfoObj = document.getElementById("showSNoInfo");
                    if (data) { // 如果是 dataType:"text",  data 为字符串 ，不能做 逻辑判断
                        // 如果是  dataType:"JSON",  返回的就是 json对象，根据数据类型转换 这就是 boolean类型
                        showSNoInfoObj.style.color = "green";
                        showSNoInfoObj.innerText="学号存在，可以使用";
                    } else {
                        showSNoInfoObj.style.color = "red";
                        showSNoInfoObj.innerText="学号不存在，请重新输入";
                    }
                }
            });
        }

    </script>
</body>
</html>
